package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/*
 * 对字符串进行排序
 * Collections.reverse集合元素翻转
 * */
public class SortListDemo3 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
//        list.add("Tom");
//        list.add("rose");
//        list.add("jack");
//        list.add("kobe");
//        list.add("james");
//        list.add("ada");
//        list.add("Jerry");
//        list.add("jill");
//        list.add("hanmeimei");
//        list.add("lilei");
//        //Collection.sort方法对英文字符串使用Unicode编码格式进行排序
//        String实现了Comparable接口 比较规则 按照首字符的unicode编码格式转换的整数大小，当该字符相同时在看第二个字符的大小 以此类推
//        Collections.sort(list);
//        System.out.println("英文内容的List排序:"+list);


        //??排序一句
        list.add("刘丧");
        list.add("科晶老师");
        list.add("范传奇");
        //自己定义规则根据字符串长度来进行排序
        //sort只能从小到大排序 如果想从打到消排序 需要自己在比较器中定义
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                //o1-o2就是从小到大 o2-o1倒过来减就是从大到小
                // return o1.length()-o2.length();
                return o2.length() - o1.length();
            }
        });
        System.out.println("中文内容的list：" + list);

    }
}
